<!DOCTYPE html>
<html lang="en" id="htmlRoot">
  <head>
    <meta charset="UTF-8" />
    <!-- <link rel="icon" href="/favicon.ico" /> -->
    <!-- <link rel="icon" href="/img/logo.svg" /> -->
    <meta name="viewport" content="width=device-width, initial-scale=1.0" />
  </head>
  <body>
    <noscript>
      <style>
        .noscript-box {
          width: 40%;
          padding: 30px;
          min-width: 300px;
          position: relative;
          left: 50%;
          top: 50px;
          margin-left: -20%;
          border-radius: 8px;
          box-shadow: rgba(0, 0, 0, 0.4) 0px 2px 4px,
            rgba(0, 0, 0, 0.3) 0px 7px 13px -3px,
            rgba(0, 0, 0, 0.2) 0px -3px 0px inset;
        }

        .noscript-title {
          font-size: large;
          border-bottom: 1px solid #cdcdd3;
          padding-bottom: 10px;
        }

        .noscript-content {
          margin-top: 20px;
          color: #303133;
        }

        .noscript-warn {
          width: 20px;
          height: 20px;
          vertical-align: middle;
        }

        #app {
          display: none;
        }
      </style>
      <div class="noscript-box">
        <div class="noscript-title">JavaScript Required</div>
        <div class="noscript-content">
          <img src="/resource/img/warn.png" class="noscript-warn" alt="warn" />
          警告：您的浏览器不支持或您禁止了脚本，请修改设置。
        </div>
      </div>
    </noscript>
    <div id="app">
      <style>
        html[data-theme='dark'] .app-loading {
          background-color: #2c344a;
        }

        html[data-theme='dark'] .app-loading .app-loading-title {
          color: rgb(255 255 255 / 85%);
        }

        .app-loading {
          display: flex;
          width: 100%;
          height: 100%;
          justify-content: center;
          align-items: center;
          flex-direction: column;
          background-color: #f4f7f9;
        }

        .app-loading .app-loading-wrap {
          position: absolute;
          top: 50%;
          left: 50%;
          display: flex;
          transform: translate3d(-50%, -50%, 0);
          justify-content: center;
          align-items: center;
          flex-direction: column;
        }

        .app-loading .dots {
          display: flex;
          padding: 98px;
          justify-content: center;
          align-items: center;
        }

        .app-loading .app-loading-title {
          display: flex;
          margin-top: 30px;
          font-size: 30px;
          color: rgb(0 0 0 / 85%);
          justify-content: center;
          align-items: center;
        }

        .app-loading .app-loading-logo {
          display: block;
          width: 90px;
          margin: 0 auto;
          margin-bottom: 20px;
        }

        .dot {
          position: relative;
          display: inline-block;
          width: 48px;
          height: 48px;
          margin-top: 30px;
          font-size: 32px;
          transform: rotate(45deg);
          box-sizing: border-box;
          animation: antRotate 1.2s infinite linear;
        }

        .dot i {
          position: absolute;
          display: block;
          width: 20px;
          height: 20px;
          background-color: #0065cc;
          border-radius: 100%;
          opacity: 30%;
          transform: scale(0.75);
          animation: antSpinMove 1s infinite linear alternate;
          transform-origin: 50% 50%;
        }

        .dot i:nth-child(1) {
          top: 0;
          left: 0;
        }

        .dot i:nth-child(2) {
          top: 0;
          right: 0;
          animation-delay: 0.4s;
        }

        .dot i:nth-child(3) {
          right: 0;
          bottom: 0;
          animation-delay: 0.8s;
        }

        .dot i:nth-child(4) {
          bottom: 0;
          left: 0;
          animation-delay: 1.2s;
        }
        @keyframes antRotate {
          to {
            transform: rotate(405deg);
          }
        }
        @keyframes antRotate {
          to {
            transform: rotate(405deg);
          }
        }
        @keyframes antSpinMove {
          to {
            opacity: 100%;
          }
        }
        @keyframes antSpinMove {
          to {
            opacity: 100%;
          }
        }

        .edition-low-box {
          display: none;
          width: 30%;
          padding: 30px;
          min-width: 300px;
          position: absolute;
          left: 50%;
          top: 50px;
          background-color: #fff;
          margin-left: -15%;
          border-radius: 8px;
          box-shadow: rgba(0, 0, 0, 0.4) 0px 2px 4px,
            rgba(0, 0, 0, 0.3) 0px 7px 13px -3px,
            rgba(0, 0, 0, 0.2) 0px -3px 0px inset;
        }

        .edition-low-warn {
          display: block;
          width: 90px;
          margin: 0 auto;
          margin-bottom: 20px;
        }

        .edition-low-title {
          padding-bottom: 10px;
          text-align: center;
          font-size: 30px;
        }

        .edition-low-content {
          margin-top: 20px;
          color: #303133;
          text-align: center;
          font-size: 18px;
        }
      </style>
      <div class="app-loading">
        <div class="app-loading-wrap">
          <img
            src="/resource/img/logo.svg"
            class="app-loading-logo"
            alt="Logo"
          />
          <div class="app-loading-dots">
            <span class="dot dot-spin">
              <i></i>
              <i></i>
              <i></i>
              <i></i>
            </span>
          </div>
          <div class="app-loading-title">固定资产管理系统</div>
        </div>
      </div>
      <div class="edition-low-box" id="edition-low-box">
        <img src="/resource/img/warn.png" class="edition-low-warn" alt="warn" />
        <div class="edition-low-title">您的浏览器版本过低或不被支持</div>
        <div class="edition-low-content">
          我们建议您使用最新版本的Safari、Firefox、Microsoft
          Edge或Chrome浏览器。
        </div>
      </div>
    </div>
    <script>
      function getBrowse() {
        var userAgent = navigator.userAgent

        var isIE =
          userAgent.indexOf('compatible') > -1 && userAgent.indexOf('MSIE') > -1

        var isIE11 =
          userAgent.indexOf('Trident') > -1 && userAgent.indexOf('rv:11.0') > -1

        var isEdge = userAgent.indexOf('Edg') > -1 && !isIE

        var isFirefox = userAgent.indexOf('Firefox') > -1

        var isOpera =
          userAgent.indexOf('Opera') > -1 || userAgent.indexOf('OPR') > -1

        var isChrome =
          userAgent.indexOf('Chrome') > -1 &&
          userAgent.indexOf('Safari') > -1 &&
          userAgent.indexOf('Edge') == -1 &&
          userAgent.indexOf('OPR') == -1

        var isSafari =
          userAgent.indexOf('Safari') > -1 &&
          userAgent.indexOf('Chrome') == -1 &&
          userAgent.indexOf('Edge') == -1 &&
          userAgent.indexOf('OPR') == -1

        if (isIE || isIE11) {
          return { name: 'IE', version: '' }
        } else if (isEdge) {
          return {
            name: 'Edge',
            version: userAgent.split('Edg/')[1].split('.')[0]
          }
        } else if (isFirefox) {
          return {
            name: 'Firefox',
            version: userAgent.split('Firefox/')[1].split('.')[0]
          }
        } else if (isOpera) {
          return {
            name: 'Opera',
            version: userAgent.split('OPR/')[1].split('.')[0]
          }
        } else if (isChrome) {
          return {
            name: 'Chrome',
            version: userAgent.split('Chrome/')[1].split('.')[0]
          }
        } else if (isSafari) {
          return {
            name: 'Safari',
            version: userAgent.split('Safari/')[1].split('.')[0]
          }
        } else {
          return { name: undefined, version: '' }
        }
      }

      ;(function checkBrowse() {
        var browse = getBrowse()

        var limitBrowse = {
          Edge: 103,
          Firefox: 102,
          Opera: 88,
          Chrome: 103,
          Safari: 15
        }
        if (
          browse.name == 'IE' ||
          (limitBrowse[browse.name] &&
            browse.version < limitBrowse[browse.name])
        ) {
          document
            .getElementById('edition-low-box')
            .setAttribute('style', 'display: block')
          document
            .getElementsByClassName('app-loading')[0]
            .setAttribute('style', 'display: none')
        }
      })()
    </script>
    <script type="module" src="/src/main.ts"></script>
  </body>
</html>
